From 0c750561355f136f9991c72560c3e4edc1be956a Mon Sep 17 00:00:00 2001 From: Steven Hand Date: Wed, 20 Sep 2006 16:52:15 +0100 Subject: [PATCH] Simplify + fix previous cset (remove_all_shadows() is indeed required :-) Signed-off-by: Steven Hand --- xen/arch/x86/mm.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 5f9a409831..94333f0659 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -1622,8 +1622,7 @@ void put_page_type(struct page_info *page) if (shadow_lock_is_acquired(owner)) /* this is a shadow page */ return; - if (!shadow_mode_translate(owner)) - mark_dirty(owner, page_to_mfn(page)); + mark_dirty(owner, page_to_mfn(page)); } } } @@ -1985,8 +1984,7 @@ int do_mmuext_op( break; } - if ( shadow_mode_enabled(d) ) - mark_dirty(d, mfn); + mark_dirty(d, mfn); break; @@ -2005,7 +2003,12 @@ int do_mmuext_op( put_page_and_type(page); put_page(page); if ( shadow_mode_enabled(d) ) + { + shadow_lock(d); + shadow_remove_all_shadows(v, _mfn(mfn)); + shadow_unlock(d); mark_dirty(d, mfn); + } } else { -- 2.30.2